package com.ys.entity.storage;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCC_PreAllocatePublish", catalog="Id")
public class TccPreAllocatePublish extends BaseEntity<TccPreAllocatePublish> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="Bid", nameJava="bid", typeDataBase="varchar")
	private String bid;
	@YsField(nameDataBase="CreateChangeId", nameJava="createChangeId", typeDataBase="bigint")
	private Long createChangeId;
	@YsField(nameDataBase="ProductActiveCode", nameJava="productActiveCode", typeDataBase="varchar")
	private String productActiveCode;
	@YsField(nameDataBase="ProductActiveName", nameJava="productActiveName", typeDataBase="varchar")
	private String productActiveName;
	@YsField(nameDataBase="CodeMerge", nameJava="codeMerge", typeDataBase="varchar")
	private String codeMerge;
	@YsField(nameDataBase="CommodityProperty", nameJava="commodityProperty", typeDataBase="varchar")
	private String commodityProperty;
	@YsField(nameDataBase="WarehouseCode", nameJava="warehouseCode", typeDataBase="varchar")
	private String warehouseCode;
	@YsField(nameDataBase="Vgsbm", nameJava="vgsbm", typeDataBase="varchar")
	private String vgsbm;
	@YsField(nameDataBase="PublishQuantity", nameJava="publishQuantity", typeDataBase="decimal")
	private BigDecimal publishQuantity;
	@YsField(nameDataBase="PublishAmount", nameJava="publishAmount", typeDataBase="decimal")
	private BigDecimal publishAmount;
	@YsField(nameDataBase="AllocateQuantity", nameJava="allocateQuantity", typeDataBase="decimal")
	private BigDecimal allocateQuantity;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TccPreAllocatePublish setId(Long id) {
		this.id = id;
		return this;
	}
	public String getBid() {
		return bid;
	}
	public TccPreAllocatePublish setBid(String bid) {
		this.bid = bid;
		return this;
	}
	public Long getCreateChangeId() {
		return createChangeId;
	}
	public TccPreAllocatePublish setCreateChangeId(Long createChangeId) {
		this.createChangeId = createChangeId;
		return this;
	}
	public String getProductActiveCode() {
		return productActiveCode;
	}
	public TccPreAllocatePublish setProductActiveCode(String productActiveCode) {
		this.productActiveCode = productActiveCode;
		return this;
	}
	public String getProductActiveName() {
		return productActiveName;
	}
	public TccPreAllocatePublish setProductActiveName(String productActiveName) {
		this.productActiveName = productActiveName;
		return this;
	}
	public String getCodeMerge() {
		return codeMerge;
	}
	public TccPreAllocatePublish setCodeMerge(String codeMerge) {
		this.codeMerge = codeMerge;
		return this;
	}
	public String getCommodityProperty() {
		return commodityProperty;
	}
	public TccPreAllocatePublish setCommodityProperty(String commodityProperty) {
		this.commodityProperty = commodityProperty;
		return this;
	}
	public String getWarehouseCode() {
		return warehouseCode;
	}
	public TccPreAllocatePublish setWarehouseCode(String warehouseCode) {
		this.warehouseCode = warehouseCode;
		return this;
	}
	public String getVgsbm() {
		return vgsbm;
	}
	public TccPreAllocatePublish setVgsbm(String vgsbm) {
		this.vgsbm = vgsbm;
		return this;
	}
	public BigDecimal getPublishQuantity() {
		return publishQuantity;
	}
	public TccPreAllocatePublish setPublishQuantity(BigDecimal publishQuantity) {
		this.publishQuantity = publishQuantity;
		return this;
	}
	public BigDecimal getPublishAmount() {
		return publishAmount;
	}
	public TccPreAllocatePublish setPublishAmount(BigDecimal publishAmount) {
		this.publishAmount = publishAmount;
		return this;
	}
	public BigDecimal getAllocateQuantity() {
		return allocateQuantity;
	}
	public TccPreAllocatePublish setAllocateQuantity(BigDecimal allocateQuantity) {
		this.allocateQuantity = allocateQuantity;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TccPreAllocatePublish setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TccPreAllocatePublish setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TccPreAllocatePublish setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TccPreAllocatePublish tccPreAllocatePublish(
		String bid,
		Long createChangeId,
		String productActiveCode,
		String productActiveName,
		String codeMerge,
		String commodityProperty,
		String warehouseCode,
		String vgsbm,
		BigDecimal publishQuantity,
		BigDecimal publishAmount,
		BigDecimal allocateQuantity,
		Integer status
			) {
		TccPreAllocatePublish entity = new TccPreAllocatePublish();
		entity.setBid(bid);
		entity.setCreateChangeId(createChangeId);
		entity.setProductActiveCode(productActiveCode);
		entity.setProductActiveName(productActiveName);
		entity.setCodeMerge(codeMerge);
		entity.setCommodityProperty(commodityProperty);
		entity.setWarehouseCode(warehouseCode);
		entity.setVgsbm(vgsbm);
		entity.setPublishQuantity(publishQuantity);
		entity.setPublishAmount(publishAmount);
		entity.setAllocateQuantity(allocateQuantity);
		entity.setStatus(status);
		return entity;
	}
}